package org.gap.service;

import java.util.Calendar;
import java.util.List;
import java.util.Set;

import org.gap.domain.Adresses;
import org.gap.domain.AdressesTiers;
import org.gap.domain.Tiers;
import org.gap.domain.TiersModif;
import org.gap.domain.TiersRib;
import org.gap.domain.Utilisateurs;
import org.gap.domain.UtilisateursGroupe;

/**
 * Spring service that handles CRUD requests for Utilisateurs entities
 * 
 */
public interface UtilisateursService {

	/**
	 * Save an existing TiersModif entity
	 * 
	 */
	public Utilisateurs saveUtilisateursTiersModifs(String usrUser, TiersModif related_tiersmodifs);

	/**
	 * Save an existing UtilisateursGroupe entity
	 * 
	 */
	public Utilisateurs saveUtilisateursUtilisateursGroupes(String usrUser_1, UtilisateursGroupe related_utilisateursgroupes);

	/**
	 * Load an existing Utilisateurs entity
	 * 
	 */
	public Set<Utilisateurs> loadUtilisateurss();

	/**
	 * Delete an existing TiersModif entity
	 * 
	 */
	public Utilisateurs deleteUtilisateursTiersModifs(String utilisateurs_usrUser, Integer related_tiersmodifs_tmoTiers, String related_tiersmodifs_tmoNomChampModif, Calendar related_tiersmodifs_tmoDateModification);

	/**
	 * Return all Utilisateurs entity
	 * 
	 */
	public List<Utilisateurs> findAllUtilisateurss(Integer startResult, Integer maxRows);

	/**
	 */
	public Utilisateurs findUtilisateursByPrimaryKey(String usrUser_2);

	/**
	 * Delete an existing TiersRib entity
	 * 
	 */
	public Utilisateurs deleteUtilisateursTiersRibsForTrbUserCreation(String utilisateurs_usrUser_1, Integer related_tiersribsfortrbusercreation_trbTiers, Integer related_tiersribsfortrbusercreation_trbRib);

	/**
	 * Delete an existing AdressesTiers entity
	 * 
	 */
	public Utilisateurs deleteUtilisateursAdressesTiersesForAdtUserModification(String utilisateurs_usrUser_2, Integer related_adressestiersesforadtusermodification_adtAdresse, Integer related_adressestiersesforadtusermodification_adtTiers, String related_adressestiersesforadtusermodification_adtTypeAdresse, String related_adressestiersesforadtusermodification_adtEtatAffectation, Calendar related_adressestiersesforadtusermodification_adtFinAffectation);

	/**
	 * Delete an existing Tiers entity
	 * 
	 */
	public Utilisateurs deleteUtilisateursTiers(String utilisateurs_usrUser_3, Integer related_tiers_tieTiers);

	/**
	 * Delete an existing AdressesTiers entity
	 * 
	 */
	public Utilisateurs deleteUtilisateursAdressesTiersesForAdtUserCreation(String utilisateurs_usrUser_4, Integer related_adressestiersesforadtusercreation_adtAdresse, Integer related_adressestiersesforadtusercreation_adtTiers, String related_adressestiersesforadtusercreation_adtTypeAdresse, String related_adressestiersesforadtusercreation_adtEtatAffectation, Calendar related_adressestiersesforadtusercreation_adtFinAffectation);

	/**
	 * Save an existing Utilisateurs entity
	 * 
	 */
	public void saveUtilisateurs(Utilisateurs utilisateurs);

	/**
	 * Delete an existing Adresses entity
	 * 
	 */
	public Utilisateurs deleteUtilisateursAdressesesForAddUserModification(String utilisateurs_usrUser_5, Integer related_adressesesforaddusermodification_addAdresse);

	/**
	 * Save an existing Tiers entity
	 * 
	 */
	public Utilisateurs saveUtilisateursTiers(String usrUser_3, Tiers related_tiers);

	/**
	 * Save an existing AdressesTiers entity
	 * 
	 */
	public Utilisateurs saveUtilisateursAdressesTiersesForAdtUserCreation(String usrUser_4, AdressesTiers related_adressestiersesforadtusercreation);

	/**
	 * Delete an existing Utilisateurs entity
	 * 
	 */
	public void deleteUtilisateurs(Utilisateurs utilisateurs_1);

	/**
	 * Delete an existing Adresses entity
	 * 
	 */
	public Utilisateurs deleteUtilisateursAdressesesForAddUserCreation(String utilisateurs_usrUser_6, Integer related_adressesesforaddusercreation_addAdresse);

	/**
	 * Save an existing TiersRib entity
	 * 
	 */
	public Utilisateurs saveUtilisateursTiersRibsForTrbUserCreation(String usrUser_5, TiersRib related_tiersribsfortrbusercreation);

	/**
	 * Save an existing Adresses entity
	 * 
	 */
	public Utilisateurs saveUtilisateursAdressesesForAddUserCreation(String usrUser_6, Adresses related_adressesesforaddusercreation);

	/**
	 * Delete an existing TiersRib entity
	 * 
	 */
	public Utilisateurs deleteUtilisateursTiersRibsForTrbUserModification(String utilisateurs_usrUser_7, Integer related_tiersribsfortrbusermodification_trbTiers, Integer related_tiersribsfortrbusermodification_trbRib);

	/**
	 * Save an existing Adresses entity
	 * 
	 */
	public Utilisateurs saveUtilisateursAdressesesForAddUserModification(String usrUser_7, Adresses related_adressesesforaddusermodification);

	/**
	 * Save an existing TiersRib entity
	 * 
	 */
	public Utilisateurs saveUtilisateursTiersRibsForTrbUserModification(String usrUser_8, TiersRib related_tiersribsfortrbusermodification);

	/**
	 * Return a count of all Utilisateurs entity
	 * 
	 */
	public Integer countUtilisateurss();

	/**
	 * Delete an existing UtilisateursGroupe entity
	 * 
	 */
	public Utilisateurs deleteUtilisateursUtilisateursGroupes(String utilisateurs_usrUser_8, String related_utilisateursgroupes_ugrGroupe, String related_utilisateursgroupes_ugrUser);

	/**
	 * Save an existing AdressesTiers entity
	 * 
	 */
	public Utilisateurs saveUtilisateursAdressesTiersesForAdtUserModification(String usrUser_9, AdressesTiers related_adressestiersesforadtusermodification);
}